Storage control method for managing access environment enabling host to access data

ABSTRACT

A server program  51  relates access environment information, which indicates an access environment enabling an AP  31 A to access data in an LV #03 and an LV #04, to the LV #03 and LV #04 on a table  61 . The server program  51  copies the data in the LV #03 and LV #04 to another LV  11 , and at the same time relates the access environment information associated with these data to the data at the copy destination. The server program  51  then transmits to a host agent program  39 B a command group based on the access environment information related to the data at the copy destination, whereby an access environment enabling an AP  31 B to access the data at the copy destination is constructed in a host  5 B.

CROSS-REFERENCE TO PRIOR APPLICATION

This application relates to and claims priority from Japanese PatentApplication No. 2005-321346, filed on Nov. 4, 2005, the entiredisclosure of which is incorporated herein by reference.

FIELD OF THE INVENTION

The present invention relates to data storage technology.

BACKGROUND OF THE INVENTION

The following is disclosed in Japanese Unexamined Patent Application2005-115438, for example.

A load monitoring unit 21 of a distributed filesystem management server2 monitors the load status of respective disks 4a to 4m. When the loadon a specific disk exceeds a predetermined level, a data control unit 23moves data stored in the disk to another disk, and updates directoryinformation in a directory information database 221 by reflecting thisdata migration. When a client makes an inquiry regarding the directoryinformation, a directory notification unit 22 transmits the updateddirectory information to the client, whereby a cache 321 of a clientside directory information database is updated.

A case in which data that can be accessed by a certain applicationprogram are copied from a certain logical volume to another logicalvolume, and a request is placed for access to the data copied into theother logical volume by another application program, for example, isconceivable. For the application program to access the data, anenvironment for accessing the data is required. When no accessenvironment exists, the access environment must be set.

SUMMARY OF THE INVENTION

An object of the present invention is to enable fast access to data evenwhen an environment for accessing the data does not exist.

Other objects of the present invention will be clarified in thefollowing description.

A storage control method according to the present invention is realizedin a system in which an application program in a host accesses data in acertain logical volume from among a plurality of logical volumesprovided in one or a plurality of storage systems. In this method, acomputer stores volume information, which is information relating to thecertain logical volume, in a storage resource. The computer also storesaccess environment information, which indicates an access environmentenabling the application program to access the data using a path betweenthe host and the storage system comprising the certain logical volume,in the storage resource in association with the volume information. The“computer” may be one computer machine or a plurality of computermachines. The “storage resource” may be a resource other than a logicalvolume.

In a first aspect of the present invention, the access environmentinformation may include access component information relating to aplurality of access components included in the access environment. Theaccess component information may comprise information relating to aconfiguration sequence of the plurality of access components from theapplication program side to the data side, and information denotingrelationships between each access component and the other accesscomponents.

In a second aspect of the present invention, the computer is capable ofcopying or moving the data from the certain logical volume to anotherlogical volume from among the plurality of logical volumes, and at thesame time relating the access environment information associated withthe data to the data at a copy destination or movement destination.

In a third aspect of the present invention, according to the secondaspect described above, the computer is capable of constructing anaccess environment enabling another application program in the host oranother host to access the data at the copy destination or movementdestination, on the basis of the access environment information relatedto the data at the copy destination or movement destination.

In a fourth aspect of the present invention, according to the thirdaspect described above, the computer is capable of storing in thestorage resource host environment information indicating an accessenvironment that can be constructed in the host or the other host. Thehost environment information may comprise information relating to theaccess components that exist in the host or the other host. The computeris capable of determining whether or not an access environment foraccessing the data at the copy destination or movement destination canbe constructed in the host or the other host on the basis of the hostenvironment information and access environment information, and havingobtained an affirmative determination result, the computer is capable ofconstructing the access environment on the basis of the accessenvironment information related to the data at the copy destination ormovement destination.

In a fifth aspect of the present invention, according to the fourthaspect described above, when the computer determines, from the abovedetermination, a lack of access components for constructing the accessenvironment in the host or the other host, the computer is capable ofdownloading the lacking access component to the host or the other host.

In a sixth aspect of the present invention, according to the thirdaspect described above, a server is provided in the system. The host orthe other host may comprise a host agent program which serves as anagent between the server and the plurality of access components providedin the host or the other host, and command management informationindicating procedures to be executed upon reception of various commands.The server is capable of transmitting to the host agent program acommand group indicating a sequence in which a plurality of commands areto be executed in order to construct the access environment inaccordance with the access environment information. The host agentprogram is capable of receiving the command group from the server, andin accordance with the execution sequence of the plurality of commands,specified in the command group, causing each command of the commandgroup to be executed by an access component for executing processingcorresponding to the command, on the basis of the command managementinformation.

In a seventh aspect of the present invention, the computer is capable ofstoring the access environment information in the storage resource inassociation with information relating to the application program.

In an eighth aspect of the present invention, according to the seventhaspect described above, the computer is capable of copying or moving thedata from the certain logical volume to another logical volume fromamong the plurality of logical volumes, and at the same time relatingthe access environment information associated with the data to the dataat the copy destination or movement destination. On the basis of theaccess environment information related to the data at the copydestination or movement destination, the computer is capable ofconstructing an access environment for accessing the data at the copydestination or movement destination, in relation to an applicationprogram indicated by the application information that is associated withthe access environment information related to the data at the copydestination or movement destination, from among a plurality ofapplication programs in the host or another host.

The method described above may be realized using hardware, a computerprogram, or a combination thereof. The computer program is read andexecuted by a predetermined processor. During information processingperformed by having the processor read the computer program, a physicalstorage region existing on a hardware resource such as memory may beused appropriately. Further, the computer program may be installed in acomputer from a recording medium such as a CD-ROM, or downloaded ontothe computer via a communication network.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 shows an outline of an example of the physical configuration of asystem according to an embodiment of the present invention;

FIG. 2 shows an outline of an example of the logical configuration ofthe system according to an embodiment of the present invention;

FIG. 3 shows a constitutional example of a host information managementtable 57;

FIG. 4 shows a constitutional example of an access environmentinformation management table 61;

FIG. 5 shows a constitutional example of a storage informationmanagement table 63;

FIG. 6 shows a constitutional example of a command management table 35A;

FIG. 7 shows an example of the flow of access environment informationgathering processing and access environment registration processing;

FIG. 8 shows an example of the flow of processing performed when amanagement client requests an access environment information gatheringfunction of a host;

FIG. 9A shows an example of the flow of access environment informationnotification processing;

FIG. 9B shows an example of the flow of access environment informationediting processing;

FIG. 10A shows an example of the flow of copying processing;

FIG. 10B shows an example of the flow of data copying processing in astep S33-3 (and a step S33-1);

FIG. 11 shows an example of the flow of data copying processing in astep S33-4 (and a step S33-2);

FIG. 12A shows an example of the flow of movement processing;

FIG. 12B shows an example of the flow of data movement processing;

FIG. 13 shows an example of the flow of access environment informationmovement processing;

FIG. 14 shows an example of the flow of new access environment creationinstruction processing within new access environment creationprocessing;

FIG. 15 shows a partial example of the flow of new access environmentcommand creation processing within the new access environment creationprocessing;

FIG. 16 shows the remainder of the example of the flow of the new accessenvironment command creation processing;

FIG. 17 shows an example of the flow of access environment restorationinstruction processing within access environment restoration processing;

FIG. 18 shows a partial example of the flow of access environmentrestoration command creation processing within the access environmentrestoration processing;

FIG. 19 shows the remainder of the example of the flow of the accessenvironment restoration command creation processing;

FIG. 20A shows an example of the flow of host information notificationprocessing; and

FIG. 20B shows an example of the flow of storage informationnotification processing.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT

FIG. 1 shows an outline of an example of the physical configuration of asystem according to an embodiment of the present invention.

A plurality of hosts 5A, 5B, . . . , a management client 7, and amanagement server 3 are connected to a communication network 2A such asa LAN (Local Area Network). Further, one or a plurality of storagesystems 9 (for ease of explanation, one storage system 9 is providedhere) is connected to another (or the same) communication network 2B.The plurality of hosts 5A, 5B, . . . and the storage system 9 are alsoconnected to a SAN (Storage Area Network) 6 (another communicationnetwork may be provided in place of the SAN 6).

The hosts 5A, 5B, . . . are computers capable of reading and writingdata from and to a logical volume, to be described below, of the storagesystem 9. The management client 7 is a computer which serves as a clientof the management server 3 (occasionally abbreviated to “server 3”hereafter). The management server 3 is a computer for managing the hosts5A, 5B, . . . and storage system 9. A substantially identical hardwareconfiguration may be employed for all of the hosts 5A, 5B, . . . ,management client 7, and management server 3, and therefore the host 5Awill be described as a representative example. The host 5A is a computersystem comprising hardware resources such as a CPU (Central ProcessingUnit) 205, memory 207, a disk-form storage apparatus (for example, ahard disk drive) 209, and a host bus adapter (HBA hereafter) 206, forexample. The host 5A may be constituted by a personal computer, aworkstation, a server machine, a mainframe, or similar, for example. Thehost 5A may further comprise an information input apparatus (not shown)such as a keyboard switch or pointing device, and an information outputapparatus (not shown) such as a monitor display or speakers, forexample.

The storage system 9 comprises a control unit 21 and a plurality ofdisk-form storage apparatuses (HDDs, for example) 309. The control unit21 controls operations of the storage system 9. The control unit 21receives a write command from the host 5A, 5B, . . . and writes data tothe disk-form storage apparatuses 309 in accordance with the writecommand, or receives a read command from the host 5A, 5B, . . . , readsdata from the disk-form storage apparatuses 309 in accordance with theread command, and transmits the read data to the host 5A, 5B, . . . .The control unit 21 comprises a plurality of channel adapters (CHAhereafter) 303, a plurality of disk adapters (DKA hereafter) 305, cachememory 308, control memory 307, and a switch (SW hereafter) 310, forexample.

The CHA 303 controls communication with the host 5A, 5B, . . . . The CHA303 is capable of writing data from the host 5A, 5B, . . . into thecache memory 308, reading data written by the DKA 305 from the cachememory 308, and transmitting the read data to the host 5A, 5B, . . . .The CHA 303 comprises one or a plurality of communication ports 4 (forease of explanation, one communication port 4 is provided here), a CPU301, and memory (referred to as local memory (LM) hereafter) 302. Thecommunication port provided in the CHA 303 will be referred to as a“CHA-Port” hereafter.

The DKA 305 controls communication with the disk-form storage apparatus309. The DKA 305 is capable of writing data from the disk-form storageapparatus 309 into the cache memory 308, reading data written by the CHA303 from the cache memory 308, and writing the read data into thedisk-form storage apparatus 309. A substantially identical hardwareconfiguration to that of the CHA 303 may be employed for the DKA 305.

The cache memory 308 is capable of storing data exchanged between thehost 5A, 5B, . . . and disk-form storage apparatus 309. The controlmemory 307 is capable of storing information (for example, volumemanagement information indicating the logical volume (not shown) that isprovided by each disk-form storage apparatus 309) required to controlthe storage system 9.

The SW 310 is capable of switching the connections between the CHA 303,cache memory 308, control memory 307, and DKA 305.

An outline of an example of the physical configuration (hardwareconfiguration) of the system according to this embodiment was describedabove. Note that the configuration of the storage system 9, for example,is not limited to the configuration described above, and for example,the control unit 21 may be a circuit board comprising one or a pluralityof CPUs and one or a plurality of memories having a region serving asthe cache memory 308 and/or a region serving as the control memory 307.

In this embodiment, an application program of each host 5A, 5B, . . . iscapable of accessing a logical volume in accordance with an accessenvironment constituted by a plurality of elements. Examples of theelements (access components hereafter) that may constitute the accessenvironment include a path management software manager, a software RAID(Redundant Array of Independent Inexpensive Disks) manager, a logicalvolume manager, a filesystem, and so on.

To recover backed-up data, the access environment at the time of dataaccess must be maintained until the data are recovered.

However, it is considered difficult to maintain the access environmentof the host 5A, 5B, . . . for a long time. When recovering data thatwere backed up several years ago, for example, the access environment ofthat time is rarely maintained.

It is also believed that data access is heavily dependent on theenvironment of the host 5A, 5B, . . . . For example, with RAIDtechnology, data availability is improved, but the access environment ofthe data is not made redundant. Hence, when the access environment ofthe data is broken, the data can no longer be accessed.

Moreover, situations in which data recovery becomes difficult may alsoarise. Specifically, when offline (a situation in which the environmentat the time of data access is not established, and therefore theapplication program cannot access the data) data are to be switched toonline (a situation in which the environment at the time of data accessis established, and therefore the application program can access thedata) data, for example, the following problems may occur. For example,it may be impossible to know the type of data stored in the storagesystem 9 under the management of the management server 3. It may also beimpossible to know the logical volume in which the data are stored. Itmay also be impossible to know the application program required toaccess the data, and it may also be impossible to know the accessenvironment required to access the data. Moreover, to switch offlinedata to online data, a manager must manipulate the access components,but the manipulation method varies depending on the access component,which may place a load on the manager. For these reasons, it may bedifficult to restore data even when the data are backed up on a logicalvolume.

If the logical volume in which the data are stored is not known, it mayalso be difficult to retrieve a logical volume in which no data arestored. Hence, the logical volume storing the data may be mistakenlyallotted as a new logical volume, for example, with the result that thestored data are deleted.

In this embodiment, a logical configuration devised to solve theproblems envisaged above is constructed over the physical configurationdescribed above. This logical configuration will now be described.

FIG. 2 shows an outline of an example of the logical configuration ofthe system according to this embodiment.

A computer program is stored in a storage resource (for example, adisk-form storage apparatus or memory) of the hosts 5A, 5B, . . . ,management client 7, management server 3, and storage system 9, and theCPU is capable of performing predetermined processing by reading andexecuting these computer programs. Hereafter, to reduce the length ofthis type of description, simple expressions such as “a computer programperforms processing” will be used.

The management client 7 comprises a client program 53. The clientprogram 53 is resident in the management client 7. The client program 53is capable of transmitting an instruction to a server program 51 anddisplaying the result thereof on a display apparatus of the managementclient 7.

The management server 3 comprises the server program 51 and a database(DB hereafter) 55. The DB 55 is constructed using a disk-form storageapparatus, for example. The DB 55 is capable of storing a hostinformation management table 57, a host configuration informationmanagement table 59, an access environment information management table61, and a storage information management table 63, for example.

The server program 51 is resident in the management server 3. The serverprogram 51 is capable of interpreting the instruction from the clientprogram 53, and transmitting the instruction to respective agentprograms 39A, 39B, . . . , 65 provided in the hosts 5A, 5B, . . . andstorage system 9.

Information relating to the environments of the hosts 5A, 5B, . . . isrecorded in the host information management table 57. Informationrelating to the configuration of the hosts 5A, 5B, . . . is recorded inthe host configuration information management table 59. Informationrelating to the configuration of the environment required for accessingdata is recorded in the access environment information management table61. Information relating to the storage system 9 is recorded in thestorage information management table 63.

The host 5A comprises an application program (AP hereafter) 31A, akernel 37A, a logical volume manager 41A, a software RAID manager 43A, apath management software manager 45A, a device driver 47A, the hostagent program 39A, and a DB 33A.

The AP 31A operates on an operating system (OS hereafter), not shown inthe drawing, of the host 5A, and is capable of obtaining data read froma logical volume 11 and transmitting data stored in the logical volume11.

The kernel 37A is software packaging the basic functions of the OS. Thekernel 37A serves as a nucleus part of the OS, and is capable ofproviding basic OS functions such as monitoring the various computerprograms (for example, 31A, 41A, 43A, 45A, 39A), managing resources suchas disks and memory, and performing allocation processing.

The logical volume manager 41A is a computer program capable of managingthe plurality of logical volumes 11 in the storage system 9 collectivelyand providing a computer program on a higher level than the logicalvolume manager 41A with a volume having an arbitrary capacity.

The software RAID manager 43A is a computer program capable of managingthe plurality of logical volumes 11 in the storage system 9collectively, and providing a computer program on a higher level thanthe software RAID manager 43A with a RAIDed volume.

The path management software manager 45A is a computer program capableof managing a plurality of paths of the logical volumes 11 in thestorage system 9 collectively, and providing a computer program on ahigher level than the path management software manager 45A withredundant access means to the logical volumes 11.

The device driver 47A is a computer program capable of controllingcommunication between the host 5A and the logical volumes in the storagesystem 9.

The host agent program 39A is capable of receiving a command list fromthe server program 51, and issuing a command to a computer program suchas the OS or logical volume manager 41.

The DB 33A is capable of storing a command management table 35A, forexample. The command management table 35A expresses correspondencebetween instructions and commands from the server program 51 and commandprocedures issued to a computer program in the host 5A.

The storage system 9 comprises the plurality of logical volumes 11 and astorage agent program 65.

Each logical volume 11 is set on the plurality of disk-form storageapparatuses 309. More specifically, for example, a physical volume (PV)is provided by the physical storage region of each disk-form storageapparatus 309, a single volume group (VG) is constituted by theplurality of physical volumes, and a single storage region partitionedfrom the VG is a logical volume (LV).

The storage agent program 65 is capable of receiving, interpreting, andexecuting an instruction from the server program 51.

More specifically, for example, the storage agent program 65 is capableof setting logical volume access rights (for example, permitting bothwriting and reading, prohibiting writing but permitting reading, and soon) in accordance with an instruction from the server program 51.

The storage agent program 65 is also capable of receiving an HBA-WWN(the worldwide name of the host bus adapter), a volume identifier, and aCHA-Port identifier from the server program 51. Further, in accordancewith an instruction from the server program 51, the storage agentprogram 65 is capable of setting an HBA-WWN and logical volume accessrights in relation to a specified CHA-Port (for example, the HBA-WWN ofthe host and the identifier of the logical volume with which thespecified CHA-Port can communicate).

The storage agent program 65 is also capable of copying data in a copysource volume group (one or a plurality of logical volumes) specified bythe server program 51 into a copy destination volume group.

The storage agent program 65 is also capable of moving data in amigration source volume group (one or a plurality of logical volumes)specified by the server program 51 into a migration destination volumegroup.

The storage agent program 65 is also capable of notifying the serverprogram 51 of a volume identifier and access rights set in the CHA-Port4 (for example, the HBA-WWN of the host and the identifier of thelogical volume which are capable of connecting to the CHA-Port 4).

In the storage system 9, data switch from online to offlineappropriately. For example, data stored in a logical volume having acertain priority level or less may be switched to an offline state.Further, for example, when data in a first logical volume used by thehost 5A are to be moved to a second logical volume used by the host 5B,the first logical volume may be switched offline while the secondlogical volume is switched online. Further, for example, when data arecopied from a copy source volume group to a copy destination volumegroup, the copy destination volume group may be switched offline.Further, for example, when data are moved from a movement source volumegroup to a movement destination volume group, the movement destinationvolume group may be switched offline.

An outline of the logical configuration of the system according to thisembodiment was described above.

In FIG. 2, “FS-MP” in the dotted line box denotes a mount point of afilesystem. The solid line box within the dotted line box indicates theinstance of the mount point, and “/mnt/home” denotes the instance namethereof.

“FS” in the dotted line box denotes the filesystem. The solid line boxwithin the dotted line box indicates the instance of the filesystem, and“/dev/vg/lv” denotes the instance name thereof.

“LV” in the dotted line box denotes a module (LV management modulehereafter) for managing the logical volumes in the logical volumemanager 41A. The solid line box within the dotted line box indicates theinstance of the module, and “/dev/vg/lv” denotes the instance namethereof.

“VG” in the dotted line box denotes a module (VG management modulehereafter) for managing the volume groups in the logical volume manager41A. The solid line box within the dotted line box indicates theinstance of the module, and “/dev/vg” denotes the instance name thereof.

“PV” in the dotted line box denotes a module (PV management modulehereafter) for managing the physical volumes in the logical volumemanager 41A. The solid line boxes within the dotted line box indicatethe instances of the module, and “/dev/sda” and “/dev/sdb” denote therespective instance names thereof.

“SCSI device” in the dotted line box denotes a module (SCSI devicemodule hereafter) in the device driver 47A for controlling communicationin accordance with the SCSI protocol. The solid line boxes within thedotted line box indicate the instances of the module, and “/dev/sda” and“/dev/sdb” denote the respective instance names thereof.

“HBA-WWN” in the dotted line box denotes the WWN of the HBA 206. Thealphabetic characters in the solid line boxes within the dotted line boxare examples of WWNs.

“CHA-Port/LUN” in the dotted line box denotes the CHA-Port identifierand the logical unit number. More specifically, in “CL1-g/10” in thesolid line box within the dotted line box, “CL1g” is the CHA-Portidentifier, and “10” is the LUN.

The set comprising “#” and a number in each logical volume 11 denotesthe logical volume identifier. Hereafter, “LV-#03” will be used tospecify the logical volume 11 having the identifier #03.

The solid line linking the instance of the FS-MP to LV-#03 and LV-#04denotes a path taken by the AP 31A to access the data in LV-#03 andLV-#04. Of this path, the section linking the instance of the FS-MP tothe HBA-WWN denotes the environment (access environment) for accessingthe data in LV-#03 and LV-#04.

In other words, the so-called access environment of this embodiment maybe constructed not simply by access components, but according to thesequence in which the plurality of access components execute processing.More specifically, the access environment can be constructed accordingto associations between information (the instance in this embodiment)managed by one access component and information managed by the otheraccess components.

According to FIG. 2, the access components of the environment enablingthe AP 31A to access the data in LV-#03 and LV-#04 are, in order fromthe lowest level closest to the data, the SCSI device module in thedevice driver 47A, the PV management module, VG management module, andLV management module in the logical volume manager 41A, the FS, and theFS-MP. The access environment is constructed by associating therespective instances of the plurality of access components arranged inthis order as shown in the drawing. In this access environment, twological volumes are recognized up to the PV management module, but bymeans of the upper level management of the VG management module andabove, the two volumes can be recognized as a single volume by the AP31A. Thus, in accordance with an instruction from the AP 31A, adetermination is made by the processing of the VG management module andPV management module as to whether to access one or both of LV-#03 andLV-#04, and hence the AP 31A is able to access the data existing in oneor both of LV-#03 and LV-#04.

Further, as can be understood from the above description, the so-calledaccess environment of this embodiment differs from a logical path (forexample, a combination of the HBA-WWN, CHA-Port identifier, and logicalunit number) that is laid out for the host 5A, 5B, . . . to access thelogical volume 11. The logical path extends from the host 5A, 5B, . . .to the logical volume 11, whereas the access environment is locatedwithin the host 5A, 5B, . . . .

In this embodiment, information indicating this access environment(access environment information hereafter) is managed in associationwith the volume (volume identifier, for example) in which the accessdestination data are stored, and the AP (AP identifier, for example)accessing the data. When an access environment required for another APto access the data does not exist, the access environment is restoredautomatically for the other AP on the basis of the managed accessenvironment information, enabling the other AP to access the data underthe restored access environment.

Constitutional examples of the various tables mentioned above and theprocessing that is performed in this embodiment will be described indetail below. Note that in the following description, as shown in FIG.2, substantially identical access components to those existing in thehost 5A, i.e. the SCSI device module in the device driver 47B, the PVmanagement module, VG management module, and LV management module in thelogical volume manager 41B, the FS, and the FS-MP, are assumed to existin the host 5B. However, the sequence of the access components and theinstances managed by each access component are not associated with eachother, and therefore an access environment enabling the AP 31B to accessthe data in LV-#03 and LV-#04 does not exist in the host 5B.

FIG. 3 shows a constitutional example of the host information managementtable 57.

The host information management table 57 is used during “accessenvironment restoration”, to be described below, to determine whether ornot the access environment can be restored in a specified host. Aprerequisite for restoring an access environment is that the hostspecified as the restoration destination must be capable of usingidentical access components to the access components constituting theaccess environment to be restored (for example, the access componentsmust exist within the host).

For example, the host information management table 57 may comprise, foreach host, information for identifying the host (host identificationinformation hereafter), information relating to the operating system (OShereafter) installed in the host (OS information hereafter), informationindicating the components that can be used by the host from among acomponent group for accessing the data in the logical volumes (usabilityinformation hereafter), and the HBA-WWN of the HBA installed in thehost. The host identification information may include, for example, ahost identifier, a host name, and a network address (an IP address, forexample). The OS information may include, for example, the type of OS orthe name of the OS. The usability information may include, for example,the types and names of the usable access components.

Note that here, “usable access components” are access components alreadyexisting in the host, but may simply be access components that can beinstalled in the host. More specifically, for example, if it can bedetermined on the basis of the resource information (storage capacity,CPU capability, and so on, for example) of the host that an accesscomponent can be installed in the host when the access component doesnot exist in the host, then the access component can be downloaded tothe host from a predetermined site and added to the host. The accessenvironment can then be restored.

FIG. 4 shows a constitutional example of the access environmentinformation management table 61.

In this embodiment, the access environment information, or in otherwords information indicating the environment required to access data,can be managed separately to information indicating the current accessenvironment of the host (host environment hereafter). The reason forthis is that the access environment of the host and the accessdestination data have different life spans.

For example, the access environment information management table 61 mayinclude, for each access environment, an access environment identifier,an application name, OS information, access component information,application information, and volume information. The access environmentidentifier may be constituted by an identifier enabling the accessenvironment to be identified uniquely in the management server 3. Theapplication name is information indicating the application in which theaccess environment is used, and may be constituted by a name given by auser of the host (host user hereafter). The OS information may includethe type or name of the OS using the data. The application informationis information indicating the type of application in which the data areused, and may be constituted by a name given by the host user. Thevolume information is information for identifying the logical volumes ofthe storage system 9 that are managed by the management server 3, andmay include a set comprising a storage system identifier and a volumeidentifier.

The access component information includes, for example, a configurationsequence, the type, name, and instance name of each access component,and outside-volume configuration information.

The configuration sequence comprises numbers indicating therelationships between the access components. More specifically, forexample, the configuration sequence indicates the sequence of the accesscomponents from the data side (lower level side) to the AP side (upperlevel side). During access environment restoration (or creation),restoration (or creation) must be performed from the lower level accesscomponent upward.

The configuration information (metadata) of the access components may bedescribed within the logical volume or outside of the logical volume(for example, in a file or DB on the host, or elsewhere). In the lattercase, outside-volume configuration information is recorded (“null”indicates that configuration information exists in the volume). Notethat the configuration information includes, for example, informationsuch as the block count, the file count, and the begin block number ofeach datum, information indicating the management manager to which theconfiguration information is subject, and so on. The configurationinformation differs according to the type of access component.

The server program 51 is capable of notifying the host agent program39A, 39B of the type and name of the access component and commandsdetermined by the server program 51 and host agent program 39A, 39B. Thehost agent program 39A, 39B is capable of specifying the managementmanager of the access component from the type and name of the accesscomponent (for example, if the access component is the PV managementmodule, then the management manager is the logical volume manager),converting a command determined by the server program 51 and host agentprogram 39A, 39B into a command that is unique to the management managerof the access component, and executing the command.

FIG. 5 shows a constitutional example of the storage informationmanagement table 63.

The storage information management table 63 includes, for each storagesystem 9 under the management of the management server 3, a storagesystem identifier, the identifier of each volume, the identifier of eachCHA-Port, and information indicating the CHA-Port via which each volumeis disclosed to the HBA-WWN (disclosure information hereafter) (“null”indicates that a volume is not disclosed). Note that in this embodiment,volume disclosure/non-disclosure differs from whether or not data areonline or offline. For example, even if a volume is disclosed to a host,the application program in the host cannot access the data in the volumeunless an access environment for accessing the data exists.

FIG. 6 shows a constitutional example of the command management table35A. Note that a command management table 35B of the host 5B may employa substantially identical constitution.

The command management table 35A includes information regarding theprocessing (host agent program-executed procedure) that is to beexecuted when a certain command (server agent common command) is issuedto a certain access component. From the table, the server program 51 isable to issue instructions to the host agent program 39A, 39B withoutregard for unique platform differences.

Examples of the server agent common commands include the following sixtypes:

-   (1) volume recognition command;-   (2) volume information acquisition command;-   (3) new access component creation command;-   (4) access component restoration command;-   (5) access component information acquisition command;-   (6) access component outside-volume configuration information    acquisition command.

Under an access component restoration command in particular, thefollowing three procedures may be performed:

-   (1) rewriting the configuration information of the access component;-   (2) generating an instance for the access component;-   (3) recording the instance name in the management manager of the    access component.

These three procedures may be recorded as the host agentprogram-executed procedures.

FIG. 7 shows an example of the flow of access environment informationgathering processing and access environment registration processing. Inthe following description, the host agent program 39A is used as arepresentative example of the host agent programs 39A, 39B.

In access environment information gathering processing (step S1), theprocessing of the following steps S1-1 to S1-4 is performed.

Step S1-1: the host agent program 39A reads a volume informationacquisition command from the command management table 35A, converts thecommand into a command that can be interpreted by the kernel 37A (and/orthe HBA), and provides the kernel 37A (and/or the HBA) with theconverted command. As a result, processing corresponding to the volumeinformation acquisition command is performed. More specifically, forexample, volume information (for example, the storage system identifierand volume identifiers corresponding to each logical volume) is obtainedfrom a volume management table (a table recorded with informationrelating to each logical volume recognized by the host 5A), which isstored in the storage resources of the host 5A.

Step S1-2: the host agent program 39A reads various acquisition commandsfrom the command management table 35A for obtaining information relatingto each access component, converts each acquisition command into acommand corresponding to each access component, and provides therespective access components with the converted commands. As a result,processing corresponding to the access component acquisition commands isperformed. More specifically, for example, access component information(for example, the instance name and outside-volume configurationinformation) for each access component is obtained from the storageresources of the host 5A, in which the access component information isstored for each access component.

Step S1-3: the host agent program 39A analyzes the relationship betweenthe access components on the basis of the volume identificationinformation obtained in the step S1-1 and the instance names of theaccess component information obtained in the step S1-2. Morespecifically, for example, the host agent program 39A is able todetermine the configuration sequence of the access components, to betransmitted in a step S1-4, on the basis of the information gathered inthe step S1-2.

Step S1-4: the host agent program 39A transmits the volumeidentification information (storage system identifier and volumeidentifiers), access component information (determined configurationsequence, types, names, instance names, and outside-volume configurationinformation), and the OS information of the OS in the host 5A to themanagement server 3.

In the access environment information registration processing (step S2),the processing of the following steps S2-1 to S2-4 is performed.

Step S2-1: the server program 51 determines whether or not a recordcontaining the same volume information as the volume informationreceived from the host 5A exists in the access environment informationmanagement table 61.

Step S2-2: when an affirmative determination result is obtained in thestep S2-1 (true in S2-1), the server program 51 deletes theaforementioned existing record from the access environment informationtable 61. Access environment information record addition processing(step S2-3) is then performed. Here, the server program 51 adds a recordincluding the volume information, access component information, and OSinformation received from the host 5A to the access environmentinformation table 61 (step S2-3-1).

Step S2-4: when a negative determination result is obtained in the stepS2-1, the server program 51 executes similar access environmentinformation record addition processing to that of the step S2-3.

The access environment information gathering processing (step S1) mayalso be initiated in accordance with a request from the managementclient 7.

FIG. 8 shows an example of the flow of processing performed when themanagement client requests the access environment information gatheringfunction of the host.

In access environment registration instruction processing (step S11),the processing of the following steps S11-1 to S11-8 is performed. Thisaccess environment registration instruction processing may serve as atrigger for initiating the access environment information gatheringprocessing (step S1).

Step S11-1: a user of the management client 7 (management userhereafter) places a request with the management client 7 for acquisitionof the host information that is under the management of the managementserver 3.

Step S11-2: the client program 53 places a request with the managementserver 3 for acquisition of the host information in accordance with therequest from the management user.

Step S11-3: the server program 51 obtains the host identificationinformation and OS information of each record in the host informationmanagement table 57.

Step S11-4: the server program 51 transmits the obtained hostidentification information and OS information to the management client7.

Step S11-5: the client program 53 displays at least the hostidentification information, from the host identification information andOS information received from the management server 3, on a displayscreen of the management client 7.

Step S11-6: the management user specifies the host from which the accessenvironment information is to be obtained from the displayed list ofhost identification information.

Step S11-7: the client program 53 places a request with the managementserver 3 for acquisition of the access environment information in thehost specified by the management user.

Step S11-8: the server program 51 issues an access environmentinformation acquisition request to the host agent program 39A of thehost specified by the management client 7 in accordance with the requestfrom the management client 7.

FIG. 9A shows an example of the flow of access environment informationnotification processing.

In the access environment information notification processing (stepS21), the processing of the following steps S21-1 to S21-5 is performed.

Step S21-1: the management user places a request with the managementclient 7 for acquisition of the access environment information that isunder the management of the management server 3.

Step S21-2: the client program 53 places a request with the managementserver 3 for acquisition of the access environment information inaccordance with the request from the management user.

Step S21-3: the server program 51 obtains the access environmentinformation (for example, the access environment identifier, applicationname, OS information, access component information, applicationinformation, and volume information) of each record in the accessenvironment information management table 61.

Step S21-4: the server program 51 transmits the obtained accessenvironment information to the management client 7.

Step S21-5: the client program 53 displays the access environmentinformation received from the management server 3 on the display screenof the management client 7.

FIG. 9B shows an example of the flow of access environment informationediting processing.

The access environment information editing processing (S22) may beperformed after the access environment information notificationprocessing (step S21), for example. In the access environmentinformation editing processing, the processing of the following stepsS22-1 to S22-3 is performed.

Step S22-1: the management user edits a desired element of the accessenvironment information selected from the displayed list of the accessenvironment information (note, however, that control may be performed toensure that the access environment identifier is not edited).

Step S22-2: the client program 53 notifies the management server 3 ofthe edited access environment information.

Step S22-3: the server program 51 extracts from the access environmentinformation management table 61 a record containing the accessenvironment identifier of the edited access environment informationreceived from the management client 7, and updates the information inthe extracted record to the edited access environment information.

FIG. 10A shows an example of the flow of copying processing.

The copying processing may be performed after the access environmentinformation notification processing, for example. In the copyingprocessing, the processing of the following steps S31 to S33 isperformed.

Step S31: copy instruction processing is performed. More specifically,for example, access environment information notification processing suchas that of the step S21 is performed (step S31-1), whereupon storageinformation notification processing (step S31-2) is performed. Themanagement user is then able to issue a copy request (for example, arequest including the copy classification, access environmentidentifier, and the identifier of each volume constituting the copydestination volume group) to the management client 7 (step S31-3). Theclient program 53 is able to transmit this request to the managementserver 3 (step S31-4).

Step S32: the server program 51 specifies a record containing the copydestination volume group included in the copy request from themanagement server 7 from the access environment information managementtable 61.

Step S33: the server program 51 identifies the copy classificationincluded in the copy request. If the identified copy classification is“data only”, data copying processing (step S33-1) is performed. If theidentified copy classification is “access environment information only”,access environment information copying processing (step S33-2) isperformed. If the identified copy classification is “data and accessenvironment information”, both data copying processing (step S33-3) andaccess environment information copying processing (step S33-4) areperformed. As a result, the access environment for accessing the data isassociated with the copy destination volume group, and therefore, insubsequent access environment restoration processing, the applicationprogram of the host can be restored to a state in which it is able toaccess data.

FIG. 10B shows an example of the flow of the data copying processing ofthe step S33-3 (and the step S33-1).

Step S33-3-1: the server program 51 issues a data copying request (forexample, the identifier of each copy source volume and the identifier ofeach copy destination volume) to the storage agent program 65. The copysource volume identifiers may be volume identifiers corresponding to theaccess environment identifier included in the aforementioned copyrequest.

Step S33-3-2: the storage agent program 65 identifies the copy sourcevolumes and copy destination volumes from the data copying requestreceived from the server program 51, and copies the data in the copysource volumes into the copy destination volumes.

FIG. 11 shows an example of the flow of the access environmentinformation copying processing of the step S33-4 (and the step S33-2).

Step S33-4-1: the server program 51 determines whether or not a recordcontaining the same volume information as the volume informationincluded in the copy destination volume identifiers of theaforementioned copy request exists in the access environment informationmanagement table 61.

Step S33-4-1-1: when an affirmative determination result is obtained inthe step S33-4-1 (true in the step S33-4-1), the server program 51deletes the aforementioned existing record from the access environmentinformation table 61. Access environment information record copyingprocessing (step S33-4-1-2) is then performed.

Here, the server program 51 adds to the access environment informationtable 61 a record containing a unique access environment identifierdenoting the copy destination access environment information, and thecopy destination volume information (for example, identifiers of thecopy destination storage system and copy destination volumes) (stepS33-4-1-2-1). The server program 51 then copies the access environmentinformation of the copy source other than the access environmentidentifier to the added record (step S33-4-1-2-2). Note that the copysource access environment information may include, for example, theaccess environment identifier included in the copy request from themanagement client 7.

Step S33-4-1-1: when a negative determination result is obtained in thestep S33-4-1, similar access environment information record copyingprocessing to that of the step S33-4-1-2 is performed (step S33-4-1-3).

FIG. 12A shows an example of the flow of movement processing.

Step S41: data movement instruction processing is performed. Morespecifically, for example, access environment information notificationprocessing such as that of the step S21 is performed (step S41-1),whereupon storage information notification processing (step S41-2) isperformed. The management user is then able to issue a movement request(for example, a request including the access environment identifier andthe identifier of each volume constituting the movement destinationvolume group) to the management client 7 (step S41-3). The clientprogram 53 is able to transmit this request to the management server 3(step S41-4).

Step S42: the server program 51 specifies a record containing themovement destination volume group included in the movement request fromthe management server 7 from the access environment informationmanagement table 61.

Data movement processing (S43) and access environment informationmovement processing (S44) are then performed.

FIG. 12B shows an example of the flow of the data movement processing.

Step S43-1: the server program 51 issues a data movement request (forexample, the identifier of each movement source volume and theidentifier of each movement destination volume) to the storage agentprogram 65. The identifiers of the movement source volumes may be volumeidentifiers corresponding to the access environment identifier includedin the movement request, for example.

Step S43-2: the storage agent program 65 identifies the movement sourcevolumes and movement destination volumes from the data movement requestreceived from the server program 51, and moves the data in the movementsource volumes to the movement destination volumes.

FIG. 13 shows an example of the flow of access environment informationmovement processing.

Step S44-1: the server program 51 determines whether or not a recordcontaining the same volume information as the volume informationincluded in the movement destination volume identifiers of the movementrequest exists in the access environment information management table61.

Step S44-1-1: when an affirmative determination result is obtained inthe step S44-1 (true in S44-1), the server program 51 deletes theaforementioned existing record from the access environment informationtable 61. Access environment information record movement processing(step S44-1-2) is then performed. Here, the server program 51 updatesthe unique access environment identifier denoting the movement sourceaccess environment information in the access environment informationtable 61 to a unique access environment identifier denoting the movementdestination access environment information. In so doing, the accessenvironment information is moved to the movement destination.

Step S44-1-3: when a negative determination result is obtained in thestep S44-1, similar access environment information record movementprocessing to that of the step S44-1-2 is performed (step S44-1-3).

FIG. 14 shows an example of the flow of new access environment creationinstruction processing within new access environment creationprocessing. Note that since an access environment already exists in thehost 5A, as shown in FIG. 2, in the following description the host 5B isassumed to be the access environment creation destination.

New access environment creation processing is processing for creatingthe same access environment as the access environment used to access thedata. In this processing, even when data are recorded in a volume, thedata are deleted, for example.

Step S51: the access environment to be newly created is determined. Morespecifically, for example, access environment information notificationprocessing such as that of FIG. 9A is performed (step S51-2), and thusthe management user is able to determine the access environment to benewly created (by selecting the desired access environment informationfrom the displayed list of access environment information, for example)(step S51-2).

Step S52: the host that is to serve as the creation destination of thedetermined access environment, the logical volume to be used, and anaccess path are determined. More specifically, for example, hostinformation notification processing, to be described below, is performed(step S52-1). Using the plurality of host information obtained throughthis processing, the management user selects the host 5B as the hostthat is to server as the new creation destination (by determininginformation including the host identifier and HBA-WWN, for example)(step S52-2). Storage information notification processing, to bedescribed below, is then performed (step S52-3). Using the volumeinformation obtained through this processing, the management userdetermines the volume to be used and an access path from the host 5B tothe storage system 9 (by selecting the volume identifier and CHA-Port,for example) (steps S52-4, S52-5).

Step S53: the instance names of the access components are determined.More specifically, for example, the client program 53 provides themanagement user with notification of the instance name for each accesscomponent of the access environment determined in the step S51-2 (stepS53-1), and inquires about the new instance names (step S53-2). Inresponse to this inquiry, the management user inputs the new instancenames (step S53-3).

Step S54: a new access environment creation request is transmitted. Morespecifically, for example, the client program 53 transmits to themanagement server 3 a new creation request (for example, a requestincluding the access environment identifier, host identifier, HBA-WWN,CHA-Port, volume identifier, and access component information) relatingto the host 5B determined above (step S54-1).

FIG. 15 shows a partial example of the flow of new access environmentcommand creation processing within the new access environment creationprocessing, and FIG. 16 shows the remainder of this example. Thisprocessing may be performed after the new creation instructionprocessing of FIG. 14.

Step S61: information regarding the access components required in theaccess environment is obtained. More specifically, for example, theserver program 51 refers to the access environment informationmanagement table 61 to obtain OS information and access componentinformation from a record containing the access environment identifierincluded in the new creation request received from the management client7 (step S61-1).

Step S62: information regarding the access components that can be usedby the new access environment creation destination host is obtained.More specifically, for example, the server program 51 refers to the hostinformation management table 57 to obtain OS information and accesscomponent information from a record containing the host identifierincluded in the new creation request received from the management client7 (step S62-1).

Step S63: the server program 51 determines whether or not the accessenvironment to be newly created can be constructed in the new creationdestination host. More specifically, for example, the server program 51determines whether or not the OS information obtained in the step S61-1conforms to the OS information obtained in the step S62-1, and whetheror not the access component information obtained in the step S61-1 isincluded in the access component information obtained in the step S62-1.

Step S63-1: when an affirmative determination result is obtained in thestep S63, processing for creating a new command list is performed. Morespecifically, for example, the server program 51 prepares an emptycommand list in the memory (step S63-1-1), adds the volume recognitioncommand of the HBA to the command list (step S63-1-2), and then adds thevolume recognition command of the kernel to the command list (stepS63-1-3). The server program 51 then adds to the command list a newcreation command and an instance name for each access component (theinstance names included in the access component information obtained inthe step S61-1) of the access environment to be newly created inaccordance with the configuration sequence written in the accessenvironment information (step S63-1-4). In other words, a plurality ofserver agent common commands is written into the command list in orderof the access components to be used to construct the access environment.

Step S63-2: new access environment creation command execution processingis performed. For example, command execution processing in the storagesystem 9 (step S63-2-1) and command execution processing in the host 5B(step S63-2-2) are performed.

In the command execution processing of the storage system 9, the serverprogram 51 transmits an access permission request to the storage agentprogram 65 (a request including the HBA-WWN, CHA-Port, and volumeidentifier included in the new creation request from the managementclient 7) (step S63-2-1-1). Then, in accordance with the accesspermission request, the storage agent program 65 sets the HBA-WWN andvolume identifier as access-permitted subjects in relation to theCHA-Port specified in the request (step S63-2-1-2).

In the command execution processing of the host 5B, the server program51 transmits the command list to the host agent program 39B of the host5B (step S63-2-2-1). The host agent program 39B reads the server agentcommon commands written in the received command list, extracts theinformation corresponding to the read server agent common commands fromthe command management table 35B, and performs processing correspondingto the extracted information (step S63-2-2-2). The step S63-2-2-2 isrepeated at least until all of the server agent common commands havebeen read from the command list and executed. The server agent commoncommands are arranged in the command list such that the accesscomponents are associated with each other in the access environmentconfiguration sequence, and therefore, by repeating the step S63-2-2-2,the access environment to be newly created can be constructed in thehost 5B.

Step S63-3: access environment information gathering processing such asthat of the step S1 in FIG. 7 is performed.

Step S63-4: access environment information registration processing suchas that of the step S2 in FIG. 7 is performed.

Step S63-5: when a negative determination result is obtained in the stepS63, the server program 51 provides the management client 7 withnotification of an error.

Step S63-6: the client program 53 notifies the management user of theerror received from the management server 3.

FIG. 17 shows an example of the flow of access environment restorationinstruction processing within access environment restoration processing.Note that since an access environment already exists in the host 5A, asshown in FIG. 2, in the following description the host 5B is assumed tobe the access environment restoration destination.

Access environment restoration processing is processing for restoringthe access environment used to access data on the basis of the accessenvironment information that is associated with the volume group inwhich the data are stored. By means of this processing, the restoreddata can be accessed by the other AP 31B.

Step S71: the access environment to be restored is determined. Morespecifically, for example, access environment information notificationprocessing such as that shown in FIG. 9A is performed (step S71-2), andthus the management user is able to determine the access environment tobe restored (by selecting the access environment information thatcorresponds to the desired volume identifier from the displayed list ofaccess environment information, for example (step S71-2).

Similar processing to that of the above steps S52 (steps S52-1 to S52-4)and S53 (steps S53-1 to S53-3) is then performed (step S72 (steps S72-1to S72-4), step S73 (steps S73-1 to S73-3)).

Step S74: an access environment restoration request is transmitted. Morespecifically, for example, the client program 53 transmits a restorationrequest (for example, a request including the access environmentidentifier, host identifier, HBA-WWN, CHA-Port, volume identifier, andaccess component information) to the management server 3 in relation tothe host 5B determined as the restoration destination (step S74-1).

FIG. 18 shows a partial example of the flow of access environmentrestoration command creation processing within the access environmentrestoration processing, and FIG. 19 shows the remainder thereof. Thisprocessing may be performed after the restoration instruction processingof FIG. 17.

Similar processing to that of the step S61 (step S61-1) and S62 (stepS62-1) of FIG. 15 is performed on the basis of the restoration requestfrom the management client 7 (steps S81 (step S81-1) and S82 (stepS82-1)).

Step S83: the server program 51 determines whether or not the accessenvironment to be restored can be constructed in the restorationdestination host. More specifically, for example, the server program 51determines whether or not the OS information obtained in the step S81-1conforms to the OS information obtained in the step S82-1, and whetheror not the access component information obtained in the step S81-1 isincluded in the access component information obtained in the step S82-1.

Step S83-1: when an affirmative determination result is obtained in thestep S83, restoration command list creation processing is performed.More specifically, for example, similar processing to that of the stepsS63-1-1 to S63-1-4 is performed (steps S83-1-1 to S83-1-4).

Step S83-2: access environment restoration command execution processingis performed. For example, command execution processing in the storagesystem 9 (step S83-2-1) and command execution processing in the host 5B(step S83-2-2) are performed. In the command execution processing of thestorage system 9, similar processing to that of the steps S63-2-1-1 toS63-2-1-2 is performed (step S83-2-1-1 to S83-2-1-2). In the commandexecution processing of the host 5B, similar processing to that of thesteps S63-2-2-1 to S63-2-2-2 is performed (step S83-2-2-1 to S83-2-2-2).As a result, the restoration subject access environment is restored inthe host 5B.

Step S83-3: access environment information gathering processing such asthat of the step S1 in FIG. 7 is performed.

Step S83-4: access environment information registration processing suchas that of the step S2 in FIG. 7 is performed.

Step S83-5: when a negative determination result is obtained in the stepS83, the server program 51 provides the management client 7 withnotification of an error.

Step S83-6: the client program 53 notifies the management user of theerror received from the management server 3.

An example of the flow of restoration processing was described above.Note that in order to perform this restoration processing, the followingconditions (A) to (D) must be satisfied.

(A) The access component management manager must possess a function formodifying the configuration information (metadata, for example) of theaccess components.

(B) The access component management manager must possess a function forgenerating instances on the basis of the modified configurationinformation of the access components.

(C) The access component management manager must possess means forplacing the instances of the access components under its own management.

(D) The location of the access component configuration informationwithin the host agent program-executed procedure of the commandmanagement table must be known, and during restoration, the proceduremust be stored after learning the configuration information modificationmethod.

FIG. 20A shows an example of the flow of host information notificationprocessing.

Step S91: the client program 53 issues the management server 3 with arequest for acquisition of the host information that is under themanagement of the management server 3.

Step S92: the server program 51 gathers the host information written inthe host information management table 57.

Step S93: the server program 51 transmits the gathered host informationto the management client 7.

Step S94: the client program 53 displays the host information receivedfrom the management server 3 to the management user.

FIG. 20B shows an example of the flow of storage informationnotification processing.

Step S101: the client program 53 issues the management server 3 with arequest for acquisition of the storage information that is under themanagement of the management server 3.

Step S102: the server program 51 gathers the storage information writtenin the storage information management table 63.

Step S103: the server program 51 transmits the gathered storageinformation to the management client 7.

Step S104: the client program 53 displays the storage informationreceived from the management server 3 to the management user.

This ends the description of this embodiment.

In the embodiment described above, there is no need to manage themetadata of the access components, and therefore the rewriting procedureof the metadata can be managed. Management of the metadata themselvescan be incorporated into management of the access components.

More specifically, for example, the logical volume manager is capable ofwriting the metadata of the LV management module, which serve as theinstance thereof, into a logical volume. To enable data access in thisembodiment, the management server 3 does not manage the metadata, butinstead is capable of managing information indicating that the LVmanagement module of the logical volume manager is in use as an accesscomponent. Further, the host agent program or storage agent program iscapable of managing information such as “where are the metadata of theLV management module in the logical volume manager located?” or “whatprocedure should be used to restore the metadata so that the logicalvolume can be restored?”, for example. The metadata can be rewritten byexecuting the procedure for providing the access component.

In other words, according to the embodiment described above, environmentinformation required for accessing data (for example, the combinationand sequence of access components, and the volume in which the data arestored) can be managed instead of metadata. In so doing, the accessenvironment for accessing the data can be constructed at an arbitrarytiming, without having to be maintained.

Also according to the embodiment described above, the access environmentinformation is managed in association with the data such that when thedata are coped or moved, the access environment information that wasassociated with the copied or moved data is related to the data in thecopy destination or movement destination. As a result, an environmentfor accessing the data in the copy destination or movement destinationcan be constructed.

Also according to this embodiment, a list of server agent commoncommands is created on the basis of the access environment information,and the access environment is constructed in accordance with thecommands on the list. As a result, a management user or host user canconstruct the access environment without knowing the unique setoperations required to construct the access environment. The accessconfiguration required to access the data can thus be restored.

A preferred embodiment of the present invention was described above, butthis embodiment is merely an example used to describe the presentinvention, and the scope of the present invention is not limited to thisembodiment alone. The present invention may be implemented in variousother aspects.

For example, the command management table may be provided in themanagement server 3 instead of, or as well as, in the host, andinstructions may be issued to the host agent program directly on thebasis of this command management table.

Further, for example, the functions of the management client 7 may beincorporated into the management server 3. Moreover, the functions ofthe management client 7 and/or the management server 3 may beincorporated into the host 5A, 5B, . . . .

Further, for example, instead of, or in addition to, copying and/ormoving data within the storage system 9, data may be copied and/or movedfrom the storage system 9 to another storage system not shown in thedrawing.

Further, for example, in the access environment restoration commandcreation processing illustrated in FIGS. 18 and 19, the server program51 may obtain application information corresponding to the obtainedaccess component information in the step S81-1. Further, in the stepS83-2-2-1, the server program 51 may create a command list for restoringthe access environment and transmit this command list to the applicationprogram indicated by the obtained application information. Thus, whenthe step S83-2-2-2 is performed, the access environment can be restoredto the application program indicated by the application information,from among the plurality of application programs in the restorationdestination host 5B. As a result, the application program indicated bythe application information becomes capable of accessing the data in thecopy destination or movement destination under the restored accessenvironment.

1. A storage control method realized in a system in which an applicationprogram in a host accesses data in a certain logical volume from among aplurality of logical volumes provided in one or a plurality of storagesystems, wherein a computer stores volume information, which isinformation relating to said certain logical volume, in a storageresource, and said computer stores access environment information, whichindicates an access environment enabling said application program toaccess said data using a path between said host and said storage systemcomprising said certain logical volume, in said storage resource inassociation with said volume information.
 2. The storage control methodaccording to claim 1, wherein said access environment informationincludes access component information relating to a plurality of accesscomponents included in said access environment, and said accesscomponent information comprises information relating to a configurationsequence of said plurality of access components from said applicationprogram side to said data side, and information denoting relationshipsbetween each access component and the other access components.
 3. Thestorage control method according to claim 1, wherein said computercopies or moves said data from said certain logical volume to anotherlogical volume from among said plurality of logical volumes, and at thesame time relates said access environment information associated withsaid data to the data at a copy destination or movement destination. 4.The storage control method according to claim 3, wherein said computerconstructs an access environment enabling another application program insaid host or another host to access said data at said copy destinationor movement destination, on the basis of said access environmentinformation related to said data at said copy destination or movementdestination.
 5. The storage control method according to claim 4, whereinsaid computer stores in said storage resource host environmentinformation indicating an access environment that can be constructed insaid host or said other host, said host environment informationcomprises information relating to the access components that exist insaid host or said other host, and said computer determines whether ornot an access environment for accessing said data at said copydestination or movement destination can be constructed in said host orsaid other host on the basis of said host environment information andsaid access environment information, and having obtained an affirmativedetermination result, constructs said access environment on the basis ofsaid access environment information related to said data at said copydestination or movement destination.
 6. The storage control methodaccording to claim 5, wherein, when said computer determines from saiddetermination a lack of access components for constructing said accessenvironment in said host or said other host, said computer downloadssaid lacking access component to said host or said other host.
 7. Thestorage control method according to claim 4, wherein a server isprovided in said system, said host or said other host comprises a hostagent program which serves as an agent between said server and saidplurality of access components provided in said host or said other host,and command management information indicating procedures to be executedupon reception of various commands, said server transmits to said hostagent program a command group indicating a sequence in which a pluralityof commands are to be executed in order to construct said accessenvironment in accordance with said access environment information, andsaid host agent program receives said command group from said server,and in accordance with said execution sequence of said plurality ofcommands, specified in said command group, causes each command of saidcommand group to be executed by an access component for executingprocessing corresponding to said command, on the basis of said commandmanagement information.
 8. The storage control method according to claim1, wherein said computer stores said access environment information insaid storage resource in association with application information, whichis information relating to said application program.
 9. The storagecontrol method according to claim 8, wherein said computer copies ormoves said data from said certain logical volume to another logicalvolume from among said plurality of logical volumes, and at the sametime relates said access environment information associated with saiddata to the data at a copy destination or movement destination, and onthe basis of said access environment information related to said data atsaid copy destination or movement destination, said computer constructsan access environment for accessing said data at said copy destinationor movement destination in relation to an application program indicatedby said application information that is associated with said accessenvironment information related to said data at said copy destination ormovement destination, from among a plurality of application programs insaid host or another host.
 10. A computer for managing a system in whichan application program in a host accesses data in a certain logicalvolume from among a plurality of logical volumes provided in one or aplurality of storage systems, comprising: a storage resource; and a CPUfor reading and executing a computer program, wherein said CPU storesvolume information, which is information relating to said certainlogical volume, in said storage resource, and using a path between saidhost and said storage system comprising said certain logical volume,stores access environment information, which indicates an accessenvironment enabling said application program to access said data, insaid storage resource in association with said volume information.
 11. Acomputer program in a system in which an application program in a hostaccesses data in a certain logical volume from among a plurality oflogical volumes provided in one or a plurality of storage systems, saidcomputer program causing a computer to execute: storing volumeinformation, which is information relating to said certain logicalvolume, in a storage resource, and storing access environmentinformation, which indicates an access environment enabling saidapplication program to access said data, in said storage resource inassociation with said volume information using a path between said hostand said storage system comprising said certain logical volume.
 12. Astorage control method realized in a system in which an applicationprogram in a host accesses data in a certain logical volume from among aplurality of logical volumes provided in one or a plurality of storagesystems, wherein a server is provided in said system, said host oranother host comprises a host agent program which serves as an agentbetween said server and a plurality of access components provided insaid host or said other host, and command management informationindicating procedures to be executed upon reception of various commands,a computer stores volume information, which is information relating tosaid certain logical volume, in a storage resource, said computer storesaccess environment information, which indicates an access environmentenabling said application program to access said data, in said storageresource in association with said volume information using a pathbetween said host and said storage system comprising said certainlogical volume, said computer copies or moves said data from saidcertain logical volume to another logical volume from among saidplurality of logical volumes, and at the same time relates said accessenvironment information associated with said data to the data at a copydestination or movement destination, said server transmits to said hostagent program a command group indicating a sequence in which a pluralityof commands are to be executed in order to construct an accessenvironment corresponding to said access environment information relatedto said data at said copy destination or movement destination, and saidhost agent program receives said command group from said server, and inaccordance with said execution sequence of said plurality of commands,specified in said command group, causes each command of said commandgroup to be executed in an access component for executing processingcorresponding to said command, on the basis of said command managementinformation, whereby an access environment enabling said applicationprogram in said host or said other host to access said data at said copydestination or movement destination is constructed in said host or saidother host.